package main

import "fmt"

// 空接口
// 如果不确定用什么类型，通常用空接口

// 空接口作为函数参数.空接口可以接收任意类型的函数参数
func show(a interface{})  {
	fmt.Printf("type:%T value:%v\n",a,a)
}

func main()  {

	// interface:关键字
	// interface() :空接口类型
	var m1 map[string]interface{}
	m1 = make(map[string]interface{},16)

	m1["name"] = "小小"
	m1["age"] = 9000
	m1["merried"] = true
	m1["hobby"] = [...]string{"唱","跳","rap"}
	fmt.Println(m1)


	show(m1)
	show(true)
	show(nil)
	show("ssss")
	var s struct{
		name string
		Aeg int}
	s.name = "小小"
	s.Aeg = 18
	show(s)

}
